home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
msdos
/
ai
/
vgamaze4
/
vgamaze.doc
< prev
next >
Wrap
Text File
|
1994-02-26
|
3KB
|
67 lines
February 27, 1994
Display mazes in three dimensions on your VGA monitor.
To display a maze with hexagonal rooms, issue the command "HEXAGON".
You will be prompted for an 8 (or fewer) character random number seed. In
general, a different random number seed will produce a different maze.
After the maze is displayed, press S to see the solution. Then press
(almost) any key to exit. A VGA (or SVGA) graphics card, a VGA (or better)
monitor, and about 2 megabytes of expanded memory or disk space are needed
(for virtual memory).
SQUARE.EXE works like HEXAGON.EXE except that it yields mazes with
square rooms.
All of the Borland C++ 3.0 source code is supplied (with comments). If
you compile it, use the "large" model. Because VGA3D.CPP uses it, main programs
must be linked with Borland's GRAPHICS.LIB. See the Borland documentation on
the utilities BINOBJ and TLIB for information on including EGAVGA.BGI in
GRAPHICS.LIB.
The following pieces of source code are specific to maze generation:
CELL.* -- Each instance of this class represents a room in a maze.
HEXMAZE.* -- each instance of this class is a maze having hexagonal
rooms.
HEXAGON.CPP -- the source for HEXAGON.EXE.
SQRMAZE.* -- each instance of this class is a maze having square
rooms.
SQUARE.CPP -- the source for SQUARE.EXE.
The following pieces may find application in other programs:
ORACLE.* -- Each object derived from this class is a random number
generator. "random_number()" returns integers uniformly distributed
between 0 and max_r_n_plus_1-1.
VARRAY.H -- a template for one dimensional virtual arrays; you can
use expanded memory (or if expanded memory is not available) disk
space to break the 640K limit in DOS.
TITILLAT.* -- an instance of this class displays a rotating bar to
let a user know a calculation intensive program is running.
PLOT3D.* -- an abstract class. Classes derived from this class may be
used to instantiate objects that will plot z=f(x,y) in three
dimensions. The derived classes must supply the functions
"aspect_ratio", "display_initialize", "pset", "num_x_pixels",
"num_y_pixels", and "write_outfile".
VGA3D.* -- a class derived from PLOT3D. It plots z=f(x,y) in three
dimensions on VGA displays.
SPIKE.CPP demonstrates using VARRAY.H, TITILLAT.*, PLOT3D.*, and VGA3D.*
to plot a simple mathematical function; SPIKE.EXE is the corresponding
executable code.
I am the author of all the code in this package. It may be freely
distributed.
-- James L. Dean
csvcjld@nomvs.lsumc.edu